#指定运行环境
FROM java:8
#FROM hub.c.163.com/library/java:latest

#作者
MAINTAINER wangsh

#声明一个挂载点，容器内此路径会对应宿主机的某个文件夹
VOLUME /tmp

#复制上下文目录下的target/demo-1.0.0.jar 到容器里
COPY target/springdocker-0.0.1-SNAPSHOT.jar app.jar
#ADD springdocker-0.0.1-SNAPSHOT.jar app.jar

#bash方式执行，使demo-0.0.1jar可访问
#RUN新建立一层，在其上执行这些命令，执行结束后， commit 这一层的修改，构成新的镜像。
RUN sh -c 'touch /app.jar'

#声明运行时容器提供服务端口，这只是一个声明，在运行时并不会因为这个声明应用就会开启这个端口的服务
EXPOSE 8085
#设置环境变量
ENV JAVA_OPTS="-Xmx2048m -Xms2048m"

#指定容器启动程序
#方式一：该种字符串拼接方式不支持变量替换，如果需要参数，可以指定写死
#ENTRYPOINT ["sh","-c","java -server -Xmx512m -Xms512m","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
#ENTRYPOINT ["sh","-c","java","-server","$JAVA_OPTS","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
#方式二：该种方法支持变量替换，通过docker run -e "JAVA_OPTS=-Xmx2048m -Xms2048m" -p 9090:9090 [容器id]
#ENTRYPOINT java -server ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.jar
CMD java -server -Djava.security.egd=file:/dev/./urandom -jar /app.jar
#CMD java -server ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.jar

